*, ::before, ::after, :root {
  --vf-primary: #007bff;
  --vf-primary-darker: #0056b3;
  --vf-danger: #dc3545;
  --vf-danger-lighter: #f9dcdf;
  --vf-success: #28a745;
  --vf-success-lighter: #c4f1ce;
  --vf-ring-width: 0.2rem;
  --vf-ring-color: rgba(0, 123, 255, 0.4);
  --vf-link-color: #007bff;
  --vf-link-decoration: underline;
  --vf-gray-50: #f9fafb;
  --vf-gray-100: #f8f9fa;
  --vf-gray-200: #e9ecef;
  --vf-gray-300: #dee2e6;
  --vf-gray-400: #ced4da;
  --vf-gray-500: #adb5bd;
  --vf-gray-600: #6c757d;
  --vf-gray-700: #495057;
  --vf-gray-800: #343a40;
  --vf-gray-900: #212529;
  --vf-dark-50: #f9fafb;
  --vf-dark-100: #f8f9fa;
  --vf-dark-200: #e9ecef;
  --vf-dark-300: #dee2e6;
  --vf-dark-400: #ced4da;
  --vf-dark-500: #adb5bd;
  --vf-dark-600: #6c757d;
  --vf-dark-700: #495057;
  --vf-dark-800: #343a40;
  --vf-dark-900: #212529;
  --vf-font-size: 1rem;
  --vf-font-size-sm: 0.875rem;
  --vf-font-size-lg: 1.25rem;
  --vf-font-size-small: 80%;
  --vf-font-size-small-sm: 80%;
  --vf-font-size-small-lg: 80%;
  --vf-font-size-h1: 2.5rem;
  --vf-font-size-h1-sm: 2.5rem;
  --vf-font-size-h1-lg: 2.5rem;
  --vf-font-size-h2: 2rem;
  --vf-font-size-h2-sm: 2rem;
  --vf-font-size-h2-lg: 2rem;
  --vf-font-size-h3: 1.75rem;
  --vf-font-size-h3-sm: 1.75rem;
  --vf-font-size-h3-lg: 1.75rem;
  --vf-font-size-h4: 1.5rem;
  --vf-font-size-h4-sm: 1.5rem;
  --vf-font-size-h4-lg: 1.5rem;
  --vf-font-size-h1-mobile: 2.5rem;
  --vf-font-size-h1-mobile-sm: 2.5rem;
  --vf-font-size-h1-mobile-lg: 2.5rem;
  --vf-font-size-h2-mobile: 2rem;
  --vf-font-size-h2-mobile-sm: 2rem;
  --vf-font-size-h2-mobile-lg: 2rem;
  --vf-font-size-h3-mobile: 1.75rem;
  --vf-font-size-h3-mobile-sm: 1.75rem;
  --vf-font-size-h3-mobile-lg: 1.75rem;
  --vf-font-size-h4-mobile: 1.5rem;
  --vf-font-size-h4-mobile-sm: 1.5rem;
  --vf-font-size-h4-mobile-lg: 1.5rem;
  --vf-font-size-blockquote: 1.25rem;
  --vf-font-size-blockquote-sm: 1.25rem;
  --vf-font-size-blockquote-lg: 1.25rem;
  --vf-line-height: 1.5rem;
  --vf-line-height-sm: 1.5rem;
  --vf-line-height-lg: 1.5rem;
  --vf-line-height-small: 1.5rem;
  --vf-line-height-small-sm: 1.5rem;
  --vf-line-height-small-lg: 1.5rem;
  --vf-line-height-headings: 1.2;
  --vf-line-height-headings-sm: 1.2;
  --vf-line-height-headings-lg: 1.2;
  --vf-line-height-blockquote: 1.5;
  --vf-line-height-blockquote-sm: 1.25;
  --vf-line-height-blockquote-lg: 2;
  --vf-letter-spacing: 0;
  --vf-letter-spacing-sm: 0;
  --vf-letter-spacing-lg: 0;
  --vf-letter-spacing-small: 0;
  --vf-letter-spacing-small-sm: 0;
  --vf-letter-spacing-small-lg: 0;
  --vf-letter-spacing-headings: 0;
  --vf-letter-spacing-headings-sm: 0;
  --vf-letter-spacing-headings-lg: 0;
  --vf-letter-spacing-blockquote: 0;
  --vf-letter-spacing-blockquote-sm: 0;
  --vf-letter-spacing-blockquote-lg: 0;
  --vf-gutter: calc(30px / 2);
  --vf-gutter-sm: calc(30px / 4);
  --vf-gutter-lg: calc(30px / 2);
  --vf-min-height-input: calc(1.5em + 0.75rem + 2px);
  --vf-min-height-input-sm: calc(1.5em + 0.5rem + 2px);
  --vf-min-height-input-lg: calc(1.5em + 1rem + 2px);
  --vf-py-input: 0.375rem;
  --vf-py-input-sm: 0.25rem;
  --vf-py-input-lg: 0.5rem;
  --vf-px-input: 0.75rem;
  --vf-px-input-sm: 0.5rem;
  --vf-px-input-lg: 1rem;
  --vf-py-btn: 0.375rem;
  --vf-py-btn-sm: 0.25rem;
  --vf-py-btn-lg: 0.5rem;
  --vf-px-btn: 0.75rem;
  --vf-px-btn-sm: 0.5rem;
  --vf-px-btn-lg: 1rem;
  --vf-py-btn-small: calc(0.375rem * 0.75);
  --vf-py-btn-small-sm: calc(0.25rem * 0.75);
  --vf-py-btn-small-lg: calc(0.5rem * 0.75);
  --vf-px-btn-small: calc(0.75rem * 0.75);
  --vf-px-btn-small-sm: calc(0.5rem * 0.75);
  --vf-px-btn-small-lg: calc(1rem * 0.75);
  --vf-py-group-tabs: var(--vf-py-input);
  --vf-py-group-tabs-sm: var(--vf-py-input-sm);
  --vf-py-group-tabs-lg: var(--vf-py-input-lg);
  --vf-px-group-tabs: var(--vf-px-input);
  --vf-px-group-tabs-sm: var(--vf-px-input-sm);
  --vf-px-group-tabs-lg: var(--vf-px-input-lg);
  --vf-py-group-blocks: 0.75rem;
  --vf-py-group-blocks-sm: 0.625rem;
  --vf-py-group-blocks-lg: 0.875rem;
  --vf-px-group-blocks: 1rem;
  --vf-px-group-blocks-sm: 1rem;
  --vf-px-group-blocks-lg: 1rem;
  --vf-py-tag: 0;
  --vf-py-tag-sm: var(--vf-py-tag);
  --vf-py-tag-lg: var(--vf-py-tag);
  --vf-px-tag: 0.4375rem;
  --vf-px-tag-sm: var(--vf-px-tag);
  --vf-px-tag-lg: var(--vf-px-tag);
  --vf-py-slider-tooltip: 0.125rem;
  --vf-py-slider-tooltip-sm: 0.0625rem;
  --vf-py-slider-tooltip-lg: 0.1875rem;
  --vf-px-slider-tooltip: 0.375rem;
  --vf-px-slider-tooltip-sm: 0.3125rem;
  --vf-px-slider-tooltip-lg: 0.5rem;
  --vf-py-blockquote: 0.5rem;
  --vf-py-blockquote-sm: 0.5rem;
  --vf-py-blockquote-lg: 0.5rem;
  --vf-px-blockquote: 1rem;
  --vf-px-blockquote-sm: 1rem;
  --vf-px-blockquote-lg: 1rem;
  --vf-py-hr: 0.25rem;
  --vf-space-addon: 0.75rem;
  --vf-space-addon-sm: var(--vf-space-addon);
  --vf-space-addon-lg: var(--vf-space-addon);
  --vf-space-checkbox: 0.25rem;
  --vf-space-checkbox-sm: var(--vf-space-checkbox);
  --vf-space-checkbox-lg: var(--vf-space-checkbox);
  --vf-space-tags: 0.1875rem;
  --vf-space-tags-sm: var(--vf-space-tags);
  --vf-space-tags-lg: var(--vf-space-tags);
  --vf-space-static-tag-1: 1rem;
  --vf-space-static-tag-2: 2rem;
  --vf-space-static-tag-3: 3rem;
  --vf-floating-top: 0rem;
  --vf-floating-top-sm: 0rem;
  --vf-floating-top-lg: 0.6875rem;
  --vf-bg-input: #fff;
  --vf-bg-input-focus: #fff;
  --vf-bg-input-hover: var(--vf-bg-input);
  --vf-bg-input-danger: var(--vf-bg-input);
  --vf-bg-input-success: var(--vf-bg-input);
  --vf-bg-checkbox: var(--vf-bg-input);
  --vf-bg-checkbox-hover: var(--vf-bg-input-hover);
  --vf-bg-checkbox-focus: var(--vf-bg-input-focus);
  --vf-bg-checkbox-danger: var(--vf-bg-input-danger);
  --vf-bg-checkbox-success: var(--vf-bg-input-success);
  --vf-bg-disabled: #e9ecef;
  --vf-bg-selected: rgba(17,24,39,0.05);
  --vf-bg-passive: var(--vf-gray-300);
  --vf-bg-icon: var(--vf-gray-500);
  --vf-bg-danger: var(--vf-danger-lighter);
  --vf-bg-success: var(--vf-success-lighter);
  --vf-bg-tag: var(--vf-primary);
  --vf-bg-slider-handle: var(--vf-primary);
  --vf-bg-toggle-handle: #ffffff;
  --vf-bg-date-head: var(--vf-gray-100);
  --vf-bg-addon: #e9ecef;
  --vf-bg-btn: var(--vf-primary);
  --vf-bg-btn-danger: var(--vf-danger);
  --vf-bg-btn-secondary: var(--vf-gray-200);
  --vf-color-input: #495057;
  --vf-color-input-focus: #495057;
  --vf-color-input-hover: var(--vf-color-input);
  --vf-color-input-danger: var(--vf-color-input);
  --vf-color-input-success: var(--vf-color-input);
  --vf-color-disabled: #495057;
  --vf-color-placeholder: #6c757d;
  --vf-color-passive: var(--vf-gray-700);
  --vf-color-muted: #6c757d;
  --vf-color-floating: var(--vf-color-muted);
  --vf-color-floating-success: var(--vf-color-floating);
  --vf-color-floating-danger: var(--vf-color-floating);
  --vf-color-floating-focus: var(--vf-color-floating);
  --vf-color-on-primary: #ffffff;
  --vf-color-danger: var(--vf-danger);
  --vf-color-success: var(--vf-success);
  --vf-color-tag: var(--vf-color-on-primary);
  --vf-color-addon: #495057;
  --vf-color-date-head: var(--vf-gray-700);
  --vf-color-btn: var(--vf-color-on-primary);
  --vf-color-btn-danger: #ffffff;
  --vf-color-btn-secondary: var(--vf-gray-700);
  --vf-border-color-input: #ced4da;
  --vf-border-color-input-focus: #80bdff;
  --vf-border-color-input-hover: var(--vf-border-color-input);
  --vf-border-color-input-danger: var(--vf-border-color-input);
  --vf-border-color-input-success: var(--vf-border-color-input);
  --vf-border-color-checkbox: var(--vf-border-color-input);
  --vf-border-color-checkbox-focus: var(--vf-border-color-input-hover);
  --vf-border-color-checkbox-hover: var(--vf-border-color-input-focus);
  --vf-border-color-checkbox-danger: var(--vf-border-color-input-danger);
  --vf-border-color-checkbox-success: var(--vf-border-color-input-success);
  --vf-border-color-checked: var(--vf-primary);
  --vf-border-color-passive: var(--vf-gray-300);
  --vf-border-color-slider-tooltip: var(--vf-primary);
  --vf-border-color-tag: var(--vf-primary);
  --vf-border-color-btn: var(--vf-primary);
  --vf-border-color-btn-danger: var(--vf-danger);
  --vf-border-color-btn-secondary: var(--vf-gray-200);
  --vf-border-color-blockquote: var(--vf-gray-400);
  --vf-border-color-hr: var(--vf-gray-600);
  --vf-border-color-signature-hr: var(--vf-gray-400);
  --vf-border-width-input-t: 1px;
  --vf-border-width-input-r: 1px;
  --vf-border-width-input-b: 1px;
  --vf-border-width-input-l: 1px;
  --vf-border-width-radio-t: var(--vf-border-width-input-t);
  --vf-border-width-radio-r: var(--vf-border-width-input-r);
  --vf-border-width-radio-b: var(--vf-border-width-input-b);
  --vf-border-width-radio-l: var(--vf-border-width-input-l);
  --vf-border-width-checkbox-t: var(--vf-border-width-input-t);
  --vf-border-width-checkbox-r: var(--vf-border-width-input-r);
  --vf-border-width-checkbox-b: var(--vf-border-width-input-b);
  --vf-border-width-checkbox-l: var(--vf-border-width-input-l);
  --vf-border-width-dropdown: var(--vf-border-width-input-t) var(--vf-border-width-input-r) var(--vf-border-width-input-b) var(--vf-border-width-input-l);
  --vf-border-width-btn: var(--vf-border-width-input-t) var(--vf-border-width-input-r) var(--vf-border-width-input-b) var(--vf-border-width-input-l);
  --vf-border-width-toggle: 0.125rem;
  --vf-border-width-tag: 1px;
  --vf-border-width-dropdown: 1px;
  --vf-border-width-btn: 1px;
  --vf-shadow-input: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  --vf-shadow-input-hover: var(--vf-shadow-input);
  --vf-shadow-input-focus: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
  --vf-shadow-handles: 0px 0px 0px 0px rgba(0,0,0,0);
  --vf-shadow-handles-hover: var(--vf-shadow-input-hover);
  --vf-shadow-handles-focus: var(--vf-shadow-input-focus);
  --vf-shadow-btn: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --vf-shadow-dropdown: 0px 0px 0px 0px rgba(0,0,0,0);
  --vf-radius-input: 0.25rem;
  --vf-radius-input-sm: 0.2rem;
  --vf-radius-input-lg: 0.3rem;
  --vf-radius-btn: 0.25rem;
  --vf-radius-btn-sm: 0.2rem;
  --vf-radius-btn-lg: 0.3rem;
  --vf-radius-small: var(--vf-radius-input);
  --vf-radius-small-sm: var(--vf-radius-input-sm);
  --vf-radius-small-lg: var(--vf-radius-input);
  --vf-radius-large: var(--vf-radius-input);
  --vf-radius-large-sm: var(--vf-radius-input-sm);
  --vf-radius-large-lg: var(--vf-radius-input);
  --vf-radius-tag: var(--vf-radius-input);
  --vf-radius-tag-sm: var(--vf-radius-input-sm);
  --vf-radius-tag-lg: var(--vf-radius-input);
  --vf-radius-checkbox: var(--vf-radius-input);
  --vf-radius-checkbox-sm: var(--vf-radius-input-sm);
  --vf-radius-checkbox-lg: var(--vf-radius-input);
  --vf-radius-slider: var(--vf-radius-input);
  --vf-radius-slider-sm: var(--vf-radius-input-sm);
  --vf-radius-slider-lg: var(--vf-radius-input);
  --vf-radius-image: var(--vf-radius-input);
  --vf-radius-image-sm: var(--vf-radius-input-sm);
  --vf-radius-image-lg: var(--vf-radius-input);
  --vf-radius-gallery: var(--vf-radius-input);
  --vf-radius-gallery-sm: var(--vf-radius-input-sm);
  --vf-radius-gallery-lg: var(--vf-radius-input);
  --vf-checkbox-size: 1rem;
  --vf-checkbox-size-sm: 0.875rem;
  --vf-checkbox-size-lg: 1rem;
  --vf-gallery-size: 6rem;
  --vf-gallery-size-sm: 5rem;
  --vf-gallery-size-lg: 7rem;
  --vf-toggle-width: 3rem;
  --vf-toggle-width-sm: 2.75rem;
  --vf-toggle-width-lg: 3rem;
  --vf-toggle-height: 1.25rem;
  --vf-toggle-height-sm: 1.125rem;
  --vf-toggle-height-lg: 1.25rem;
  --vf-slider-height: 0.375rem;
  --vf-slider-height-sm: 0.3125rem;
  --vf-slider-height-lg: 0.5rem;
  --vf-slider-height-vertical: 20rem;
  --vf-slider-height-vertical-sm: var(--vf-slider-height-vertical);
  --vf-slider-height-vertical-lg: var(--vf-slider-height-vertical);
  --vf-slider-handle-size: 1rem;
  --vf-slider-handle-size-sm: 0.875rem;
  --vf-slider-handle-size-lg: 1.25rem;
  --vf-slider-tooltip-distance: 0.5rem;
  --vf-slider-tooltip-distance-sm: 0.375rem;
  --vf-slider-tooltip-distance-lg: 0.5rem;
  --vf-slider-tooltip-arrow-size: 0.3125rem;
  --vf-slider-tooltip-arrow-size-sm: var(--vf-slider-tooltip-arrow-size);
  --vf-slider-tooltip-arrow-size-lg: var(--vf-slider-tooltip-arrow-size);
}

.dark, .dark *, .dark :before, .dark :after {
  --vf-bg-input: var(--vf-dark-800);
  --vf-bg-input-hover: var(--vf-bg-input);
  --vf-bg-input-focus: var(--vf-bg-input);
  --vf-bg-input-danger: var(--vf-bg-input);
  --vf-bg-input-success: var(--vf-bg-input);
  --vf-bg-checkbox: var(--vf-dark-700);
  --vf-bg-checkbox-hover: var(--vf-bg-checkbox);
  --vf-bg-checkbox-focus: var(--vf-bg-checkbox);
  --vf-bg-checkbox-danger: var(--vf-bg-checkbox);
  --vf-bg-checkbox-success: var(--vf-bg-checkbox);
  --vf-bg-disabled: var(--vf-dark-700);
  --vf-bg-selected: var(--vf-dark-700);
  --vf-bg-passive: var(--vf-dark-700);
  --vf-bg-icon: var(--vf-dark-400);
  --vf-bg-danger: var(--vf-danger-lighter);
  --vf-bg-success: var(--vf-success-lighter);
  --vf-bg-addon: transparent;
  --vf-bg-tag: var(--vf-primary);
  --vf-bg-slider-handle: var(--vf-primary);
  --vf-bg-toggle-handle: #ffffff;
  --vf-bg-date-head: var(--vf-dark-700);
  --vf-bg-btn: var(--vf-primary);
  --vf-bg-btn-danger: var(--vf-danger);
  --vf-bg-btn-secondary: var(--vf-dark-700);

  --vf-color-on-primary: #ffffff;
  --vf-color-input: var(--vf-dark-100);
  --vf-color-input-hover: var(--vf-color-input);
  --vf-color-input-focus: var(--vf-color-input);
  --vf-color-input-danger: var(--vf-color-input);
  --vf-color-input-success: var(--vf-color-input);
  --vf-color-placeholder: var(--vf-dark-500);
  --vf-color-disabled: var(--vf-dark-500);
  --vf-color-passive: var(--vf-dark-900);
  --vf-color-muted: var(--vf-dark-500);
  --vf-color-floating: var(--vf-color-muted);
  --vf-color-floating-focus: var(--vf-color-floating);
  --vf-color-floating-success: var(--vf-color-floating);
  --vf-color-floating-danger: var(--vf-color-floating);
  --vf-color-danger: var(--vf-danger);
  --vf-color-success: var(--vf-success);
  --vf-color-addon: initial;
  --vf-color-tag: var(--vf-color-on-primary);
  --vf-color-date-head: var(--vf-dark-200);
  --vf-color-btn: var(--vf-color-on-primary);
  --vf-color-btn-danger: #ffffff;
  --vf-color-btn-secondary: var(--vf-dark-300);

  --vf-border-color-input: var(--vf-dark-800);
  --vf-border-color-input-focus: var(--vf-primary);
  --vf-border-color-input-hover: var(--vf-border-color-input);
  --vf-border-color-input-danger: var(--vf-border-color-input);
  --vf-border-color-input-success: var(--vf-border-color-input);
  --vf-border-color-checkbox: var(--vf-border-color-input);
  --vf-border-color-checkbox-focus: var(--vf-primary);
  --vf-border-color-checkbox-hover: var(--vf-border-color-checkbox);
  --vf-border-color-checkbox-danger: var(--vf-border-color-checkbox);
  --vf-border-color-checkbox-success: var(--vf-border-color-checkbox);
  --vf-border-color-checked: var(--vf-primary);
  --vf-border-color-btn: var(--vf-primary);
  --vf-border-color-tag: var(--vf-primary);
  --vf-border-color-slider-tooltip: var(--vf-primary);
  --vf-border-color-passive: var(--vf-dark-700);
  --vf-border-color-btn-danger: var(--vf-danger);
  --vf-border-color-btn-secondary: var(--vf-dark-700);
  --vf-border-color-blockquote: var(--vf-dark-700);
  --vf-border-color-hr: var(--vf-dark-700);
  --vf-border-color-signature-hr: var(--vf-dark-500);
}